home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VCOLOR.DOC < prev    next >
Text File  |  1993-04-14  |  12KB  |  736 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix Color Control Unit (VCOLOR)
  5.  Copyright 1991,92,93 Visionix
  6.  ALL RIGHTS RESERVED
  7.  
  8.  ────────────────────────────────────────────────────────────────────────────
  9.  
  10.  Revision history in reverse chronological order:
  11.  
  12.  Initials  Date      Comment
  13.  ────────  ────────  ────────────────────────────────────────────────────────
  14.  
  15.  lpg       03/15/93  Added Source Documentation
  16.  
  17.  mep       02/11/93  Cleaned up code for beta release
  18.  
  19.  jrt       02/08/93  Sync with beta 0.12 release
  20.  
  21.  jrt       12/07/92  Sync with beta 0.11 release
  22.  
  23.  jrt       11/21/92  Sync with beta 0.08
  24.  
  25.  jrt       09/01/92  First logged revision.
  26.  
  27.  ════════════════════════════════════════════════════════════════════════════
  28. }
  29.  
  30. Unit VColor;
  31.  
  32.  
  33. Uses
  34.  
  35.   VTypes,
  36.   VGen;
  37.  
  38. {────────────────────────────────────────────────────────────────────────────}
  39.  
  40. Type
  41.  
  42.   TError = WORD;
  43.  
  44.   {----}
  45.  
  46.   TColorNamesEntry = RECORD
  47.  
  48.     Name      : ST20;
  49.     Value     : WORD;
  50.  
  51.   END;
  52.  
  53.   {----}
  54.  
  55.   TColorNames = RECORD
  56.  
  57.     NumNames  : WORD;
  58.  
  59.     Entry     : Array[1..64] of TColorNamesEntry;
  60.  
  61.   END;
  62.  
  63.   PColorNames = ^TColorNames;
  64.  
  65.   {----}
  66.  
  67.   TColorMap = RECORD
  68.  
  69.     Entry     : Array[0..256] of WORD;
  70.  
  71.   END;
  72.  
  73.   PColorMap = ^TColorMap;
  74.  
  75.   {----}
  76.  
  77.   TColorPalEntry = RECORD
  78.  
  79.      R        : BYTE;
  80.      G        : BYTE;
  81.      B        : BYTE;
  82.  
  83.   END;
  84.  
  85.   PColorPalEntry = ^TColorPalEntry;
  86.  
  87.   {----}
  88.  
  89.   TColorPal = RECORD
  90.  
  91.     Entry     : Array[0..255] of TColorPalEntry;
  92.  
  93.   END;
  94.  
  95.   PColorPal = ^TColorPal;
  96.  
  97. {────────────────────────────────────────────────────────────────────────────}
  98.  
  99. { this unit is incomplete }
  100.  
  101.  
  102. Procedure VColorNamesSubmit(      Names          : PColorNames );
  103.  
  104. Function  VColorNamesRead(        FileName       : ST80;
  105.                                   NamesName      : ST80      ) : TError;
  106.  
  107. Function  VColorNamesWrite(       FileName       : ST80;
  108.                                   NamesName      : ST80      ) : TError;
  109.  
  110. Procedure VColorNamesEntrySet(    EntryName      : ST20;
  111.                                   Value          : WORD      );
  112.  
  113. Function  VColorNamesEntryGet(    EntryName      : ST20      ) : WORD;
  114.  
  115. Function  CN(                     EntryName      : ST20      ) : WORD;
  116.  
  117. Procedure VColorNamesEntryDel(    EntryName      : ST20      );
  118.  
  119. Procedure VColorNamesPush;
  120.  
  121. Procedure VColorNamesPop;
  122.  
  123.  
  124.  
  125. Procedure VColorMapSubmit(        Map            : PColorMap );
  126.  
  127. Function  VColorMapRead(          FileName       : ST80;
  128.                                   MapName        : ST80      ) : TError;
  129.  
  130. Function  VColorMapWrite(         FileName       : ST80;
  131.                                   MapName        : ST80      ) : TError;
  132.  
  133. Procedure VColorMapEntrySet(      EntryNum       : BYTE;
  134.                                   Value          : WORD      );
  135.  
  136. Function  VColorMapEntryGet(      EntryNum       : BYTE      ) : WORD;
  137.  
  138. Function  CM          (           EntryNum       : BYTE      ) : WORD;
  139.  
  140. Procedure VColorMapPush;
  141.  
  142. Procedure VColorMapPop;
  143.  
  144. Function  VColorPalRead(          FileName       : ST80;
  145.                                   MapName        : ST80      ) : TError;
  146.  
  147. Function  VColorPalWrite(         FileName       : ST80;
  148.                                   MapName        : ST80      ) : TError;
  149.  
  150. Procedure VColorPalSet(           EntryNum       : BYTE;
  151.                                   R              : BYTE;
  152.                                   G              : BYTE;
  153.                                   B              : BYTE      );
  154.  
  155. Procedure VColorPalGet(           EntryNum       : BYTE;
  156.                               Var R              : BYTE;
  157.                               Var G              : BYTE;
  158.                               Var B              : BYTE      );
  159.  
  160. Procedure VColorPalPush;
  161.  
  162. Procedure VColorPalPop;
  163.  
  164. {────────────────────────────────────────────────────────────────────────────}
  165.  
  166.  
  167. ──────────────────────────────────────────────────────────────────────────────
  168.  
  169.  
  170. [FUNCTION]
  171.  
  172. Procedure VColorNamesSubmit(      Names          : PColorNames );
  173.  
  174. [PARAMETERS]
  175.  
  176. Name        Pointer to Color Names Data
  177.  
  178. [RETURNS]
  179.  
  180. (None)
  181.  
  182. [DESCRIPTION]
  183.  
  184. [SEE-ALSO]
  185.  
  186. [EXAMPLE]
  187.  
  188.  
  189. ──────────────────────────────────────────────────────────────────────────────
  190.  
  191.  
  192. [FUNCTION]
  193.  
  194. Function  VColorNamesRead(        FileName       : ST80;
  195.                                   NamesName      : ST80      ) : TError;
  196. [PARAMETERS]
  197.  
  198. FileName    ?
  199. NamesName   ?
  200.  
  201. [RETURNS]
  202.  
  203. [DESCRIPTION]
  204.  
  205. [SEE-ALSO]
  206.  
  207. [EXAMPLE]
  208.  
  209.  
  210. ──────────────────────────────────────────────────────────────────────────────
  211.  
  212.  
  213. [FUNCTION]
  214.  
  215. Function  VColorNamesWrite(       FileName       : ST80;
  216.                                   NamesName      : ST80      ) : TError;
  217.  
  218. [PARAMETERS]
  219.  
  220. FileName    ?
  221. NamesName   ?
  222.  
  223. [RETURNS]
  224.  
  225. [DESCRIPTION]
  226.  
  227. [SEE-ALSO]
  228.  
  229. [EXAMPLE]
  230.  
  231.  
  232. ──────────────────────────────────────────────────────────────────────────────
  233.  
  234.  
  235. [FUNCTION]
  236.  
  237. Function VGetCNameEntryNum(       EntryName      : ST20      ) : INTEGER;
  238.  
  239. [PARAMETERS]
  240.  
  241. EntryName   Color Entry Name
  242.  
  243. [RETURNS]
  244.  
  245. [DESCRIPTION]
  246.  
  247. [SEE-ALSO]
  248.  
  249. [EXAMPLE]
  250.  
  251.  
  252. ──────────────────────────────────────────────────────────────────────────────
  253.  
  254.  
  255. [FUNCTION]
  256.  
  257. Procedure VColorNamesEntrySet(    EntryName      : ST20;
  258.                                   Value          : WORD      );
  259.  
  260. [PARAMETERS]
  261.  
  262. EntryName   Color Entry Name
  263. Value       Color Value
  264.  
  265. [RETURNS]
  266.  
  267. (None)
  268.  
  269. [DESCRIPTION]
  270.  
  271. [SEE-ALSO]
  272.  
  273. [EXAMPLE]
  274.  
  275.  
  276. ──────────────────────────────────────────────────────────────────────────────
  277.  
  278.  
  279. [FUNCTION]
  280.  
  281. Function  VColorNamesEntryGet(    EntryName      : ST20      ) : WORD;
  282.  
  283. [PARAMETERS]
  284.  
  285. EntryName   Color Entry Name
  286.  
  287. [RETURNS]
  288.  
  289. Color Entry Number
  290.  
  291. [DESCRIPTION]
  292.  
  293. Locates the Color Entry Number based upon an assigned Entry Name.
  294.  
  295. [SEE-ALSO]
  296.  
  297. [EXAMPLE]
  298.  
  299.  
  300. ──────────────────────────────────────────────────────────────────────────────
  301.  
  302.  
  303. [FUNCTION]
  304.  
  305. Function  CN(                     EntryName      : ST20      ) : WORD;
  306.  
  307. [PARAMETERS]
  308.  
  309. EntryName   Color Entry Name
  310.  
  311. [RETURNS]
  312.  
  313. [DESCRIPTION]
  314.  
  315. [SEE-ALSO]
  316.  
  317. [EXAMPLE]
  318.  
  319.  
  320. ──────────────────────────────────────────────────────────────────────────────
  321.  
  322.  
  323. [FUNCTION]
  324.  
  325. Procedure VColorNamesEntryDel(    EntryName      : ST20      );
  326.  
  327. [PARAMETERS]
  328.  
  329. EntryName   Color Palette Entry Name
  330.  
  331. [RETURNS]
  332.  
  333. (None)
  334.  
  335. [DESCRIPTION]
  336.  
  337. [SEE-ALSO]
  338.  
  339. [EXAMPLE]
  340.  
  341.  
  342. ──────────────────────────────────────────────────────────────────────────────
  343.  
  344.  
  345. [FUNCTION]
  346.  
  347. Procedure VColorNamesPush;
  348.  
  349. [PARAMETERS]
  350.  
  351. (None)
  352.  
  353. [RETURNS]
  354.  
  355. (None)
  356.  
  357. [DESCRIPTION]
  358.  
  359. [SEE-ALSO]
  360.  
  361. [EXAMPLE]
  362.  
  363.  
  364. ──────────────────────────────────────────────────────────────────────────────
  365.  
  366.  
  367. [FUNCTION]
  368.  
  369. Procedure VColorNamesPop;
  370.  
  371. [PARAMETERS]
  372.  
  373. (None)
  374.  
  375. [RETURNS]
  376.  
  377. (None)
  378.  
  379. [DESCRIPTION]
  380.  
  381. [SEE-ALSO]
  382.  
  383. [EXAMPLE]
  384.  
  385.  
  386. ──────────────────────────────────────────────────────────────────────────────
  387.  
  388.  
  389. [FUNCTION]
  390.  
  391. Procedure VColorMapSubmit(        Map            : PColorMap );
  392.  
  393. [PARAMETERS]
  394.  
  395. Map         Pointer to Color Mapping Data
  396.  
  397. [RETURNS]
  398.  
  399. (None)
  400.  
  401. [DESCRIPTION]
  402.  
  403. [SEE-ALSO]
  404.  
  405. [EXAMPLE]
  406.  
  407.  
  408. ──────────────────────────────────────────────────────────────────────────────
  409.  
  410.  
  411. [FUNCTION]
  412.  
  413. Function  VColorMapRead(          FileName       : ST80;
  414.                                   MapName        : ST80      ) : TError;
  415.  
  416. [PARAMETERS]
  417.  
  418. FileName    ?
  419. MapName     ?
  420.  
  421. [RETURNS]
  422.  
  423. [DESCRIPTION]
  424.  
  425. [SEE-ALSO]
  426.  
  427. [EXAMPLE]
  428.  
  429.  
  430. ──────────────────────────────────────────────────────────────────────────────
  431.  
  432.  
  433. [FUNCTION]
  434.  
  435. Function  VColorMapWrite(         FileName       : ST80;
  436.                                   MapName        : ST80      ) : TError;
  437.  
  438. [PARAMETERS]
  439.  
  440. FileName    ?
  441. MapName     ?
  442.  
  443. [RETURNS]
  444.  
  445. [DESCRIPTION]
  446.  
  447. [SEE-ALSO]
  448.  
  449. [EXAMPLE]
  450.  
  451.  
  452. ──────────────────────────────────────────────────────────────────────────────
  453.  
  454.  
  455. [FUNCTION]
  456.  
  457. Procedure VColorMapEntrySet(      EntryNum       : BYTE;
  458.                                   Value          : WORD      );
  459.  
  460. [PARAMETERS]
  461.  
  462. EntryNum    Color Entry Number
  463. Value       New Color Mapping Value
  464.  
  465. [RETURNS]
  466.  
  467. (None)
  468.  
  469. [DESCRIPTION]
  470.  
  471. [SEE-ALSO]
  472.  
  473. [EXAMPLE]
  474.  
  475.  
  476. ──────────────────────────────────────────────────────────────────────────────
  477.  
  478.  
  479. [FUNCTION]
  480.  
  481. Function  VColorMapEntryGet(      EntryNum       : BYTE      ) : WORD;
  482.  
  483. [PARAMETERS]
  484.  
  485. EntryNum    Color Entry Number
  486.  
  487. [RETURNS]
  488.  
  489. [DESCRIPTION]
  490.  
  491. [SEE-ALSO]
  492.  
  493. [EXAMPLE]
  494.  
  495.  
  496. ──────────────────────────────────────────────────────────────────────────────
  497.  
  498.  
  499. [FUNCTION]
  500.  
  501. Function  CM(                     EntryNum       : BYTE      ) : WORD;
  502.  
  503. [PARAMETERS]
  504.  
  505. EntryNum    Color Entry Number
  506.  
  507. [RETURNS]
  508.  
  509. [DESCRIPTION]
  510.  
  511. [SEE-ALSO]
  512.  
  513. [EXAMPLE]
  514.  
  515.  
  516. ──────────────────────────────────────────────────────────────────────────────
  517.  
  518.  
  519. [FUNCTION]
  520.  
  521. Procedure VColorMapPush;
  522.  
  523. [PARAMETERS]
  524.  
  525. (None)
  526.  
  527. [RETURNS]
  528.  
  529. (None)
  530.  
  531. [DESCRIPTION]
  532.  
  533. [SEE-ALSO]
  534.  
  535. [EXAMPLE]
  536.  
  537.  
  538. ──────────────────────────────────────────────────────────────────────────────
  539.  
  540.  
  541. [FUNCTION]
  542.  
  543. Procedure VColorMapPop;
  544.  
  545. [PARAMETERS]
  546.  
  547. (None)
  548.  
  549. [RETURNS]
  550.  
  551. (None)
  552.  
  553. [DESCRIPTION]
  554.  
  555. [SEE-ALSO]
  556.  
  557. [EXAMPLE]
  558.  
  559.  
  560. ──────────────────────────────────────────────────────────────────────────────
  561.  
  562.  
  563. [FUNCTION]
  564.  
  565. Procedure VColorPalSubmit(        ColorPal       : PColorPal );
  566.  
  567. [PARAMETERS]
  568.  
  569. ColorPal    Pointer to Color Palette
  570.  
  571. [RETURNS]
  572.  
  573. (None)
  574.  
  575. [DESCRIPTION]
  576.  
  577. Sets the Complete Color Palette Provided.
  578.  
  579. [SEE-ALSO]
  580.  
  581. [EXAMPLE]
  582.  
  583.  
  584. ──────────────────────────────────────────────────────────────────────────────
  585.  
  586.  
  587. [FUNCTION]
  588.  
  589. Function  VColorPalRead(          FileName       : ST80;
  590.                                   MapName        : ST80      ) : TError;
  591.  
  592. [PARAMETERS]
  593.  
  594. FileName    ?
  595. MapName     ?
  596.  
  597. [RETURNS]
  598.  
  599. [DESCRIPTION]
  600.  
  601. [SEE-ALSO]
  602.  
  603. [EXAMPLE]
  604.  
  605.  
  606. ──────────────────────────────────────────────────────────────────────────────
  607.  
  608.  
  609. [FUNCTION]
  610.  
  611. Function  VColorPalWrite(         FileName       : ST80;
  612.                                   MapName        : ST80      ) : TError;
  613.  
  614. [PARAMETERS]
  615.  
  616. FileName    ?
  617. MapName     ?
  618.  
  619. [RETURNS]
  620.  
  621. [DESCRIPTION]
  622.  
  623. [SEE-ALSO]
  624.  
  625. [EXAMPLE]
  626.  
  627.  
  628. ──────────────────────────────────────────────────────────────────────────────
  629.  
  630.  
  631. [FUNCTION]
  632.  
  633. Procedure VColorPalSet(           EntryNum       : BYTE;
  634.                                   R              : BYTE;
  635.                                   G              : BYTE;
  636.                                   B              : BYTE      );
  637.  
  638. [PARAMETERS]
  639.  
  640. EntryNum    Color Palette Entry Number
  641. R           Source Red Value for Entry
  642. G           Source Green Value for Entry
  643. B           Source Blue Value for Entry
  644.  
  645. [RETURNS]
  646.  
  647. (None)
  648.  
  649. [DESCRIPTION]
  650.  
  651. Modifies the Selected Color Palette Entry to contain the new Source
  652. Red/Green/Blue component values.
  653.  
  654. [SEE-ALSO]
  655.  
  656. [EXAMPLE]
  657.  
  658.  
  659. ──────────────────────────────────────────────────────────────────────────────
  660.  
  661.  
  662. [FUNCTION]
  663.  
  664. Procedure VColorPalGet(           EntryNum       : BYTE;
  665.                               Var R              : BYTE;
  666.                               Var G              : BYTE;
  667.                               Var B              : BYTE      );
  668.  
  669. [PARAMETERS]
  670.  
  671. EntryNum    Color Palette Entry Number
  672. R           VAR Returned Red Value for Entry
  673. G           VAR Returned Green Value for Entry
  674. B           VAR Returned Blue Value for Entry
  675.  
  676. [RETURNS]
  677.  
  678. (Function : None)
  679. (VAR      : [R] Red Value for Entry)
  680. (VAR      : [G] Green Value for Entry)
  681. (VAR      : [B] Blue Value for Entry)
  682.  
  683. [DESCRIPTION]
  684.  
  685. Reads the Selected Color Palette Entry and returns the Red/Green/Blue
  686. components of the Entry.
  687.  
  688. [SEE-ALSO]
  689.  
  690. [EXAMPLE]
  691.  
  692.  
  693. ──────────────────────────────────────────────────────────────────────────────
  694.  
  695.  
  696. [FUNCTION]
  697.  
  698. Procedure VColorPalPush;
  699.  
  700. [PARAMETERS]
  701.  
  702. (None)
  703.  
  704. [RETURNS]
  705.  
  706. (None)
  707.  
  708. [DESCRIPTION]
  709.  
  710. [SEE-ALSO]
  711.  
  712. [EXAMPLE]
  713.  
  714.  
  715. ──────────────────────────────────────────────────────────────────────────────
  716.  
  717.  
  718. [FUNCTION]
  719.  
  720. Procedure VColorPalPop;
  721.  
  722. [PARAMETERS]
  723.  
  724. (None)
  725.  
  726. [RETURNS]
  727.  
  728. (None)
  729.  
  730. [DESCRIPTION]
  731.  
  732. [SEE-ALSO]
  733.  
  734. [EXAMPLE]
  735.  
  736.